This fixes bug 579884. Previously the return value of g_slist_find_custom was
being recasted as type (GtkModuleInfo *). This patch sets the return value
to a temporary variable of type (GSList *), and sets info to temp->data. This
avoids a crashing problem.
g_module_close (module);
else
{
+ GSList *temp;
+
success = TRUE;
- info = (GtkModuleInfo *) g_slist_find_custom (gtk_modules, module,
- (GCompareFunc)cmp_module);
+ info = NULL;
+
+ temp = g_slist_find_custom (gtk_modules, module,
+ (GCompareFunc)cmp_module);
+ if (temp != NULL)
+ info = temp->data;
+
if (!info)
{
info = g_new0 (GtkModuleInfo, 1);